#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

// debug
//vector<pair<int, int> > picks;

int main() {

	//freopen("input.txt", "r", stdin);

	int n;
	cin >> n;
	vector<long long> vals(n);
	for (int i = 0; i < n; ++i) cin >> vals[i];
	sort(vals.begin(), vals.end());
	long long s;
	cin >> s;

	long long coins = 0; // start with one "1" coin
	long long sum = 0;
	long long i = 0;
	long long newCoins;
	while (i < n-1) {
		//sum should become >= vals[i+1]
		newCoins = (vals[i+1]-1-sum+vals[i]-1)/vals[i];
		if (sum + newCoins*vals[i] > s) break;
		coins += newCoins;
		sum += newCoins*vals[i];
		++i;
		// debug
		//picks.push_back(make_pair(vals[i-1],newCoins));
	}
	newCoins = (s - sum + vals[i]-1)/vals[i];
	coins += newCoins;
	sum += newCoins*vals[i];
	++i;
	// debug
	//picks.push_back(make_pair(vals[i-1],newCoins));

	cout << coins << endl;

	// debug
	/*cout << endl;
	for (int i = 0; i < picks.size(); ++i) {
		cout << picks[i].first << ' ' << picks[i].second << endl;
	}*/

	return 0;
}